x86/speculation/mds: Clear CPU buffers on exit to user
authorThomas Gleixner <tglx@linutronix.de>
Mon, 18 Feb 2019 22:42:51 +0000 (23:42 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 19 Jun 2019 22:16:58 +0000 (23:16 +0100)
commit341ae76c5f7fe4d8c1d092626392f65e68786532
tree79fbedc5c4ebca914ce5aa1e0c10c64cbb07d345
parent590649d3d8fb4f751de729315f681d63490e359a
x86/speculation/mds: Clear CPU buffers on exit to user

commit 04dcbdb8057827b043b3c71aa397c4c63e67d086 upstream

Add a static key which controls the invocation of the CPU buffer clear
mechanism on exit to user space and add the call into
prepare_exit_to_usermode() and do_nmi() right before actually returning.

Add documentation which kernel to user space transition this covers and
explain why some corner cases are not mitigated.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Frederic Weisbecker <frederic@kernel.org>
Reviewed-by: Jon Masters <jcm@redhat.com>
Tested-by: Jon Masters <jcm@redhat.com>
Gbp-Pq: Topic bugfix/all/spec
Gbp-Pq: Name 0010-x86-speculation-mds-Clear-CPU-buffers-on-exit-to-use.patch
Documentation/x86/mds.rst
arch/x86/entry/common.c
arch/x86/include/asm/nospec-branch.h
arch/x86/kernel/cpu/bugs.c
arch/x86/kernel/nmi.c
arch/x86/kernel/traps.c